package com.potenzacd.project.service;

import com.potenzacd.project.pojo.ProductInfo;

import java.util.List;

public interface IBassProductService<T,W>  {
    /**
     * 存为草稿(创建)
     *
     * @param info 要保存的信息
     */
    public void save4draft(T info);

    /**
     * 提交审核(修改)
     * @param info 要提交审核的信息
     */
    public void edit4Approval( T info);

    /**
     * 存为草稿(修改)
     *
     * @param info 要保存的信息
     */
    public void edit4draft(T info);

    /**
     * 提交审核(创建)
     * @param info 要提交审核的信息
     */
    public void save4Approval( T info);


    /**
     * 审核
     * @param info 审核记录
     */
    public void approval(W info);

    /**
     * 发布
     * @param info 要发布的信息
     */
    public void publish(T info);

    /**
     * 再次审核
     * 	审核失败之后，进行信息的修改，之后提交审核
     * @param info 要审核的信息
     */
    public void re4Approval(T info);

    /**
     * 作废
     * @param info 要作废的信息
     */
    public void abort(ProductInfo info);


    /**
     * 分页
     * @return
     */
    public List<ProductInfo> finData();

    /**
     * 查看详情
     * @param code code 要查询的标识
     * @return 信息
     */
    public T detai(String code);
}
